home *** CD-ROM | disk | FTP | other *** search
- /* ModelessRadios.c -- modeless dialog */
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include <Appearance.h>
- #include <stdlib.h>
-
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "ControlUtils.h"
-
- #include "Dispatcher.h"
- #include "ModelessRadios.h"
-
- #define kRadioGroupGroup 1
- #define kStandardRadio 2
- #define kGroupBox 3
- #define kGroupGroup 4
- #define kGroupRadio1 5
- #define kGroupRadio2 6
- #define kGroupRadio3 7
- #define kGraphicBox 8
- #define kGraphicGroup 9
- #define kStopRadio 10
- #define kGoRadio 11
- #define kBevelBox 12
- #define kBevelGroup 13
- #define kRadioButtonRadio 14
- #define kRadioButton2Radio 15
- #define kTextBox 16
- #define kTextGroup 17
- #define kNameRadio 18
- #define kKindRadio 19
- #define kSizeRadio 20
-
-
- //----------
- DialogPtr ModelessRadiosDialog = nil;
-
- //----------
- void ModelessRadios_Create ()
- {
- ModelessRadios* dialog = NewModelessRadios ();
- DModelessRadiosData* data = NewDModelessRadiosData ();
-
- AMDialog_MakeDialog ((AMDialog*)dialog, DLOG_ModelessRadios);
- ModelessRadios_ConnectToData (dialog, (AMSignaler*)data);
- }
-
- //----------
- void ModelessRadios_Show ()
- {
- if (ModelessRadiosDialog == nil) {
- ModelessRadios_Create ();
- }
- if (ModelessRadiosDialog != nil) {
- SelectWindow (ModelessRadiosDialog);
- ShowWindow (ModelessRadiosDialog);
- }
- }
-
- //----------
- void ModelessRadios_Close ()
- {
- HideWindow (ModelessRadiosDialog);
- }
-
- //----------
- ModelessRadios* NewModelessRadios ()
- {
- ModelessRadios* dialog;
-
- dialog = (ModelessRadios*)malloc (sizeof (ModelessRadios));
- ModelessRadios_Init (dialog);
- SetClassID (dialog, classModelessRadios);
-
- return dialog;
- }
-
- //----------
- void DeleteModelessRadios (
- ModelessRadios* dialog)
- {
- ModelessRadios_Free (dialog);
- free (dialog);
- }
-
- //----------
- void ModelessRadios_Init (
- ModelessRadios* self)
- {
- AMDialog_Init ((AMDialog*)self);
- }
-
- //----------
- void ModelessRadios_Free (
- ModelessRadios* self)
- {
- AMDialog_Free ((AMDialog*)self);
- }
-
- //----------
- void ModelessRadios_FinishMake (
- ModelessRadios* self)
- {
- ModelessRadiosDialog = ((AMDialog*)self)->mDialog;
-
- self->mRadioGroupGroupHandle = AMDialog_GetControlItem ((AMDialog*)self, kRadioGroupGroup);
- self->mStandardHandle = AMDialog_GetControlItem ((AMDialog*)self, kStandardRadio);
- self->mGroupBoxHandle = AMDialog_GetControlItem ((AMDialog*)self, kGroupBox);
- self->mGroupGroupHandle = AMDialog_GetControlItem ((AMDialog*)self, kGroupGroup);
- self->mGroupRadio1Handle = AMDialog_GetControlItem ((AMDialog*)self, kGroupRadio1);
- self->mGroupRadio2Handle = AMDialog_GetControlItem ((AMDialog*)self, kGroupRadio2);
- self->mGroupRadio3Handle = AMDialog_GetControlItem ((AMDialog*)self, kGroupRadio3);
- self->mGraphicBoxHandle = AMDialog_GetControlItem ((AMDialog*)self, kGraphicBox);
- self->mGraphicGroupHandle = AMDialog_GetControlItem ((AMDialog*)self, kGraphicGroup);
- self->mStopHandle = AMDialog_GetControlItem ((AMDialog*)self, kStopRadio);
- self->mGoHandle = AMDialog_GetControlItem ((AMDialog*)self, kGoRadio);
- self->mBevelBoxHandle = AMDialog_GetControlItem ((AMDialog*)self, kBevelBox);
- self->mBevelGroupHandle = AMDialog_GetControlItem ((AMDialog*)self, kBevelGroup);
- self->mRadioButtonHandle = AMDialog_GetControlItem ((AMDialog*)self, kRadioButtonRadio);
- SetBevelButtonGraphicAlignment (self->mRadioButtonHandle, kControlBevelButtonAlignCenter, 0, 0);
- self->mRadioButton2Handle = AMDialog_GetControlItem ((AMDialog*)self, kRadioButton2Radio);
- SetBevelButtonGraphicAlignment (self->mRadioButton2Handle, kControlBevelButtonAlignCenter, 0, 0);
- self->mTextBoxHandle = AMDialog_GetControlItem ((AMDialog*)self, kTextBox);
- self->mTextGroupHandle = AMDialog_GetControlItem ((AMDialog*)self, kTextGroup);
- self->mNameHandle = AMDialog_GetControlItem ((AMDialog*)self, kNameRadio);
- self->mKindHandle = AMDialog_GetControlItem ((AMDialog*)self, kKindRadio);
- self->mSizeHandle = AMDialog_GetControlItem ((AMDialog*)self, kSizeRadio);
- }
-
- //----------
- void ModelessRadios_ConnectToData (
- ModelessRadios* self,
- AMSignaler* inData)
- {
- AMDialog_ConnectToData ((AMDialog*)self, inData);
- self->mData = (DModelessRadiosData*) inData;
-
- SetControlValue (self->mRadioGroupGroupHandle, GetRadioGroup3 (self->mData));
- SetControlValue (self->mGroupGroupHandle, GetGroup3 (self->mData));
- SetControlValue (self->mGraphicGroupHandle, GetGraphic5 (self->mData));
- SetControlValue (self->mBevelGroupHandle, GetBevel3 (self->mData));
- SetBevelButtonGraphicAlignment (self->mRadioButtonHandle, kControlBevelButtonAlignCenter, 0, 0);
- SetBevelButtonGraphicAlignment (self->mRadioButton2Handle, kControlBevelButtonAlignCenter, 0, 0);
- SetControlValue (self->mTextGroupHandle, GetText3 (self->mData));
- }
-
- //----------
- void ModelessRadios_DoItem (
- ModelessRadios* self,
- SInt16 inItemHit)
- {
- switch (inItemHit) {
- case kRadioGroupGroup:
- SetRadioGroup3 (self->mData, GetControlValue (self->mRadioGroupGroupHandle));
- break;
- case kGroupGroup:
- SetGroup3 (self->mData, GetControlValue (self->mGroupGroupHandle));
- break;
- case kGraphicGroup:
- SetGraphic5 (self->mData, GetControlValue (self->mGraphicGroupHandle));
- break;
- case kBevelGroup:
- SetBevel3 (self->mData, GetControlValue (self->mBevelGroupHandle));
- break;
- case kTextGroup:
- SetText3 (self->mData, GetControlValue (self->mTextGroupHandle));
- break;
-
- } // switch
- }
-
- //----------
- void ModelessRadios_DataChanged (
- ModelessRadios* self,
- long inDataID)
- {
- if (inDataID == idRadioGroup3) {
- SetControlValue (self->mRadioGroupGroupHandle, GetRadioGroup3 (self->mData));
- }
- if (inDataID == idGroup3) {
- SetControlValue (self->mGroupGroupHandle, GetGroup3 (self->mData));
- }
- if (inDataID == idGraphic5) {
- SetControlValue (self->mGraphicGroupHandle, GetGraphic5 (self->mData));
- }
- if (inDataID == idBevel3) {
- SetControlValue (self->mBevelGroupHandle, GetBevel3 (self->mData));
- }
- if (inDataID == idText3) {
- SetControlValue (self->mTextGroupHandle, GetText3 (self->mData));
- }
- }
-
- //----------
- Boolean ModelessRadios_Filter (
- ModelessRadios* self,
- EventRecord *ioEvent,
- DialogItemIndex *outItemHit)
- {
- return AMDialog_Filter ((AMDialog*)self, ioEvent, outItemHit);
- }
-